package com.koron.css2.meterService.mapper;

import com.koron.css2.clientCenter.bean.UserBean;
import com.koron.css2.meterService.bean.MsChgPlanDetailBean;
import com.koron.css2.meterService.bean.query.MsChgPlanDetailQueryBean;
import com.koron.css2.meterService.dto.MsChgPlanDetailDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MsChgPlanDetailMapper {
	
	/**
	 * 通过旧水表编号查询 注意只查询流程状态为 草稿 进行中的
	 * @param meterNo
	 * @return
	 */
	MsChgPlanDetailDto selectByOldMeterNo(String meterNo);
	
	/**
	 * 通过旧水表编号查询 注意只查询流程状态为 草稿 进行中的换表数量
	 * @param meterNo
	 * @return
	 */
	int countByOldMeterNo(String meterNo);
	
	/**
	 * 通过ID 查询
	 * @param meterNo
	 * @return
	 */
	MsChgPlanDetailBean selectById(String id);
	
	List<MsChgPlanDetailDto> selectByReceiptId(String receiptId);
	
	List<MsChgPlanDetailDto> selectList(MsChgPlanDetailQueryBean query);

	List<MsChgPlanDetailDto> selectListForCB(MsChgPlanDetailQueryBean query);//拆表详情查询

	List<MsChgPlanDetailDto> selectHistoryList(MsChgPlanDetailQueryBean query);
	
	List<MsChgPlanDetailDto> selectListByOldMeterNo(@Param("bean")MsChgPlanDetailQueryBean bean,@Param("list")List<String> list);
	
	List<MsChgPlanDetailDto> selectListByMeterNo(@Param("meterNos") List<String> meterNos);
	
	List<String> selectProcessNotEndList(String meterNo);		//查询未审核结束非草稿状态的拆表水表

	List<String> selectNewMeterAndProceddNotEnd();		//查询未审核结束非草稿状态的换表薪水表
	
	int addMsChgPlanDetail(MsChgPlanDetailBean bean);
	
	int updateByOldMeterNo(MsChgPlanDetailBean bean);
	
	int updateById(MsChgPlanDetailBean bean);
	
	int deleteById(String id);
	
	int deleteByReceiptId(String receiptId);

	/**
	 * 修改用户信息 水表编号 换表日期
	 */
	int updateUserInfo(UserBean bean);

	List<MsChgPlanDetailDto> selectListByUserNo(@Param("userNos") List<String> userNos);
	
}
